# -*- coding: utf-8 -*-

from django.db import models

class Fornecedor(models.Model):
    nome = models.CharField(u'Nome de Fantasia do Fornecedor', max_length=50)
    razao_social = models.CharField(u'Razão Social', max_length=50, blank = True, null = True)
    cpf = models.CharField(u'CPF', max_length=11, blank=True, null=True)
    cnpj = models.CharField(u'CNPJ', max_length=14, blank=True, null=True)
    ie = models.CharField(u'Inscrição Estadual', max_length=16, blank=True, null=True)
    tipo = models.CharField(u'Tipo da empresa', max_length=1, blank=True, null=True, choices=(('s', 'Simples'), ('o', 'Outros')))

    def __unicode__(self):
        return self.nome

class Transportadora(models.Model):
    nome = models.CharField(u'Nome da Transportadora', max_length=50)

class Telefone(models.Model):
    ddd = models.CharField(u'DDD', max_length=3, blank = True, null = True, default = '')
    numero = models.CharField(u'Número do Telefone', max_length=12)
    operadora = models.CharField(u'Operadora', max_length=20, blank=True, null=True, choices = (('Tim', 'Tim'), ('Claro', 'Claro'), ('Oi', 'Oi'), ('Vivo', 'Vivo'), ('Fixo', 'Fixo')))
    Fornecedor = models.ForeignKey(Fornecedor)  

    def __unicode__(self):
        self.numero = '(' + self.ddd + ') ' + self.numero
        
        
        if self.operadora:
            return self.numero + ' - Op.: ' + self.operadora
        else:
            return self.numero
    
    def save(self, *args, **kwargs):
        import string
        for i in string.letters + string.punctuation + ' ':
            self.numero = self.numero.replace(i, '')
        
        super(Telefone, self).save(*args, **kwargs)

class Email(models.Model):
	email = models.EmailField('E-mail')
	Fornecedor = models.ForeignKey(Fornecedor)

class Endereco(models.Model):
    rua = models.CharField(u'Rua', max_length=100, null=True, blank=True)
    cidade = models.CharField(u'Cidade', max_length=50, blank=True, null=True)
    referencia = models.CharField(u'Ponto de Referência', max_length=50, blank=True, null=True)
    cep = models.CharField(u'CEP', max_length=8, blank=True, null=True)
    Fornecedor = models.ForeignKey(Fornecedor)

    def __unicode__(self):
        return self.rua + '. Ref.: ' + self.referencia + '. CEP: ' + self.cep + '. ' + self.cidade
    
    def save(self, *args, **kwargs):
        self.rua = normalize('NFKD', self.rua).encode('ASCII','ignore')
        self.cidade = normalize('NFKD', self.cidade).encode('ASCII','ignore')
        self.referencia = normalize('NFKD', self.referencia).encode('ASCII','ignore')
        super(Endereco, self).save(*args, **kwargs)
